FEXP Solver  1.0.0.0
FEXPResultExport.h
Go to the documentation of this file.
1 // © FEXP, FEXPEnterprise Solver, Ing. Vaclav Rek
3 // It manages result data storage.
4 // Compiler must support C++ ver.14 and later
6 #ifndef _CFEXRESULTEXPORT_H_
7 #define _CFEXRESULTEXPORT_H_
8 #include "FEXPCommon.h"
10 
17 
20 {
21 public:
23  virtual ~ICFEXPResultExport() { }
24 
25  virtual void Initialize() = 0;
26  virtual void Write (Ptr<CFEXPCalculationModelNodeResult> result) = 0;
27  virtual void Finalize () = 0;
28 protected:
29  // [no protected members] -----------------------------
30 private:
31  // [no private members ] -----------------------------
32 };
33 
40 
43  : public ICFEXPResultExport
44 {
45 public:
46  CFEXPResultExportToVTU(std::string dir_path, std::string fname);
48 
49  // override pure virtual methods
50  virtual void Initialize() override { }
51  virtual void Write (Ptr<CFEXPCalculationModelNodeResult> result) override;
52  virtual void Finalize () override;
53 
54  static std::string FILE_EXTENSION1;
55  static std::string FILE_EXTENSION2;
56 protected:
57  // [no protected members] -----------------------------
58 private:
59  std::string _directory_path;
60  std::string _filename;
61  std::ofstream _vtu_file_ostream;
62  std::ofstream _pvd_file_ostream;
63 
64  size_t _file_counter;
65  std::map<size_t, std::string> _file_path_map;
66  // FE node mapping
67  std::map<size_t, size_t> _node_map;
68  std::tuple<size_t, size_t> map_fe_nodes_and_get_item_count(Ptr<CFEXPCalculationModelNodeResult> result);
69 };
70 
71 #endif // !_CFEXRESULTEXPORT_H_
static std::string FILE_EXTENSION1
Definition: FEXPResultExport.h:54
virtual void Write(Ptr< CFEXPCalculationModelNodeResult > result)=0
Base interface for export of results.
Definition: FEXPResultExport.h:19
static std::string FILE_EXTENSION2
Definition: FEXPResultExport.h:55
Definition: FEXPCommon.h:276
virtual void Initialize()=0
Export to VTU file for Paraview.
Definition: FEXPResultExport.h:42
virtual void Write(Ptr< CFEXPCalculationModelNodeResult > result) override
Definition: FEXPResultExport.cpp:22
virtual ~ICFEXPResultExport()
Definition: FEXPResultExport.h:23
ICFEXPResultExport()
Definition: FEXPResultExport.h:22
CFEXPResultExportToVTU(std::string dir_path, std::string fname)
Definition: FEXPResultExport.cpp:17
virtual ~CFEXPResultExportToVTU()
Definition: FEXPResultExport.h:47
virtual void Finalize()=0
virtual void Initialize() override
Definition: FEXPResultExport.h:50
virtual void Finalize() override
Definition: FEXPResultExport.cpp:120